home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 July / 07_02.iso / software / xq-xsetup / files / setup.exe / {app} / plugins / XQ Win2K GPO 3.xpl < prev    next >
Text File  |  2001-10-29  |  4KB  |  145 lines

  1. "FILE"="Xteq Systems X-Setup Plugin 6.0"
  2. "TYPE"="9"
  3. "COUNT"="2"
  4. "UIPATH 1"="Network\Security\ActiveDirectory"
  5. "UIPATH 2"="System\Debugging"
  6. "NAME"="Group Policy Objects (GPO) Extensions Logging"
  7. "VERSION"="1.00"
  8. "OSVERSION"="000101"
  9. "LANGUAGE"="VBScript"
  10. "TEXT 1"="Enable Logging"
  11. "TEXT 2"="Disable Logging"
  12. "DESCRIPTION 1"="For nearly every section of a GPO, a different DLL is responsible to apply this GPO to the local machine."
  13. "DESCRIPTION 2"="In this list, you see all GPO Extension that are present on this computer and their state of Logging."
  14. "DESCRIPTION 3"="A selected extension means: Yes, will generate a logfile. Not selected means: No, will not genrate a logfile."
  15. "DESCRIPTION 4"="The logiles will be written to the folder "<WINDOWS ROOT>\security\logs\"."
  16. "COMMENT 1"=" "
  17. "AUTHOR"="Xteq Systems"
  18. "CONTACTURL"="http://www.xteq.com"
  19. "COPYRIGHT"="Copyright ⌐ Xteq Systems - All Rights Reserved"
  20.  
  21. 'Declaration of some constants
  22. sP="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions\"
  23. sV1="\@"
  24. sV2="\ExtensionDebugLevel"
  25.  
  26. Dim aryLoc()
  27. Dim iCount
  28.  
  29. 'Called when the Plugin is started
  30. SUB Plugin_Initialize
  31.  iCount=RegEnumPaths(sP)
  32.  
  33.  'count how many real items we have
  34.  if iCount>0 then
  35.     'redim array
  36.     ReDim aryLoc(iCount)
  37.     for l=1 to iCount
  38.         aryLoc(l)=RegEnumElement(l)
  39.  
  40.         'get the name 
  41.         s=sP & RegEnumElement(l) & sV1
  42.         s=RegReadValue(s)
  43.         Call SetUIElement(l,s)
  44.  
  45.         'get the state of the debug extension
  46.         s=sP & RegEnumElement(l) & sV2
  47.         s=RegReadValue(s)
  48.         if s="2" then Call SetUIElementEx(l,true)
  49.     next
  50.  else
  51.     Disable
  52.  end if
  53. End Sub
  54.  
  55. 'Called when the Plugin should validate the Data the user has entered
  56. SUB Plugin_CheckData(ElementIndex)
  57. END SUB
  58.  
  59. 'Called when the Plugin should apply the changes
  60. SUB Plugin_Apply(ElementIndex,ElementSubIndex)
  61.  for l=1 to iCount
  62.      s=sP & RegEnumElement(l) & sV2
  63.      b=GetUIElementEx(l)
  64.  
  65.      if b=true then
  66.         Call RegWriteValue(s,2,1)
  67.      else
  68.         if RegValueExists(s) then Call RegDeleteValue(s)
  69.      end if
  70.  next
  71.  
  72. End Sub
  73.  
  74. Sub Test123
  75.  
  76.  if ElementSubIndex>0 then 'OK, user has selected an item
  77.  
  78.    If ElementIndex=1 then 'Rename name
  79.  
  80.       s=sp & aryLoc(ElementSubIndex) & sV1
  81.       sV=RegReadValue(s) 
  82.      
  83.       'DebugMsg ElementSubIndex
  84.       'Debugmsg s
  85.   
  86.        sV=InputWindow("Change Name in List",sV,1)
  87.        if IsEmpty(sV)=false then
  88.           'change it!
  89.           Call RegWriteValue(s,sV,1)          
  90.           Call SetUIElement(ElementSubIndex,sV)   
  91.        end if 
  92.  
  93.    else
  94.     if ElementIndex=3 then  'Delete!!
  95.  
  96.        'Create name of first value
  97.        t=sp & aryLoc(ElementSubIndex) ' "& sV1" removed here, and 's' renamed to 't'
  98.  
  99.        ' Start of new code added by Neil Turner <totalxs@hotmail.com>
  100.        iCount=RegEnumValues(t) ' Enumerate all values
  101.        For u=1 to iCount
  102.            s=RegEnumElement(u) ' Get one of the values...
  103.            s=t & "\" & s ' Get full path of value...
  104.            Call RegDeleteValue(s) ' ... and delete it!
  105.        Next
  106.    
  107.        If IsEmpty(t & "\@")=true then
  108.           Call RegDeletePath(t) ' Finally, delete key!
  109.        else
  110.           If IsEmpty(t & "\@")=true then
  111.              Call RegDeleteValue(t & "\@") ' Otherwise, remove (Default) and then delete key. IsEmpty test is carried out twice - otherwise X-Setup produces an error (don't know why).
  112.           end if
  113.           Call RegDeletePath(t)
  114.        end if
  115.        
  116.  
  117.  ' End of new code
  118.        
  119.  
  120.        'Set item to empty so it is removed from the list...
  121.        Call SetUIElement(ElementSubIndex,"")
  122.  
  123.     else 'Edit command
  124.  
  125.        s=sp & aryLoc(ElementSubIndex) & sV2
  126.        sV=RegReadValue(s) 
  127.   
  128.        sV=InputWindow("Change Uninstall Command",sV,1)
  129.        if IsEmpty(sV)=false then
  130.           'change it!
  131.           Call RegWriteValue(s,sV,1)
  132.        end if 
  133.  
  134.     end if
  135.    end if
  136.  
  137.  else
  138.   Call MsgWarning("No item selected - please select an item first.")
  139.  end if
  140. END SUB
  141.  
  142. 'Called when the Plugin is about to be removed from memory
  143. SUB Plugin_Terminate
  144. END SUB
  145.